#ifndef KEY_H
#define KEY_H

#include "hardware.h"

#define KEY_TYPE GPIOD
#define KEY_PIN GPIO_Pin_5

#define TOUCH_KEY_LONG_TIME 255 // 2.55s长按判断 (时基10ms，10 * 255 = 2550ms)    打开此宏，则打开红外长按功能  注：最大值255

typedef struct
{
    uint8_t flag : 2;       // 数据接收标志; 0 - 等待按下、1 - 长按判断、2 - 接收完成、 3 - 长按后检测按键松开
    uint8_t key_state;      // 按键状态
    uint8_t long_short : 1; // 长按 - 1; 短按 - 0
    uint8_t cnt;            // 按键持续时间计数

} key_infor_t; // 按键信息

void key_init(void);
void key_process(void);
void key_operation(void);

#endif
